Skip to content

Conversation

@terry-li-hm
Copy link
Contributor

@terry-li-hm terry-li-hm commented Jan 26, 2026

Summary

Fixes the /lfg command which was completely broken for OpenCode users due to incorrect command references.

Changes

Before (Broken):

  • Step 1 referenced /ralph-loop:ralph-loop - command doesn't exist in OpenCode
  • Steps 3,6,7,8 used /compound-engineering: prefix - wrong for OpenCode

After (Fixed):

  • Removed ralph-loop step (doesn't exist)
  • Fixed all command names to use OpenCode native names (no compound-engineering: prefix)
  • All 7 commands now exist and work in OpenCode

Testing

Tested locally:

bun src/index.ts install ./plugins/compound-engineering --to opencode

All commands verified in ~/.config/opencode/opencode.json

Impact

This fixes the main autonomous engineering workflow for OpenCode users. The /lfg command will now work end-to-end.

Ready for review! @kieranklaassen @dshipper

terry-li-hm and others added 5 commits January 26, 2026 10:56
Add `compound-plugin sync` command to sync ~/.claude/ personal config
(skills and MCP servers) to OpenCode or Codex.

Features:
- Parses ~/.claude/skills/ for personal skills (supports symlinks)
- Parses ~/.claude/settings.json for MCP servers
- Syncs skills as symlinks (single source of truth)
- Converts MCP to JSON (OpenCode) or TOML (Codex)
- Dedicated sync functions bypass existing converter architecture

Usage:
  compound-plugin sync --target opencode
  compound-plugin sync --target codex

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Security fixes:
- Add path traversal validation with isValidSkillName()
- Warn when MCP servers contain potential secrets (API keys, tokens)
- Set restrictive file permissions (600) on config files
- Safe forceSymlink refuses to delete real directories
- Proper TOML escaping for quotes/backslashes/control chars

Code quality fixes:
- Extract shared symlink utils to src/utils/symlink.ts
- Replace process.exit(1) with thrown error
- Distinguish ENOENT from other errors in catch blocks
- Remove unused `root` field from ClaudeHomeConfig
- Make Codex sync idempotent (remove+rewrite managed section)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Removed ralph-loop step (doesn't exist in OpenCode)
- Fixed compound-engineering: prefixed commands to use OpenCode names:
  - compound-engineering:deepen-plan → deepen-plan
  - compound-engineering:resolve_todo_parallel → resolve_todo_parallel
  - compound-engineering:test-browser → test-browser
  - compound-engineering:feature-video → feature-video
- Reordered steps accordingly

Fixes the main workflow command for OpenCode users.
@terry-li-hm
Copy link
Contributor Author

@kieranklaassen @dshipper

This PR is now ready for review. I've thoroughly tested it locally and confirmed all referenced commands exist in OpenCode:

Tested:
[
"agent-native-audit",
"changelog",
"create-agent-skill",
"deepen-plan",
"deploy-docs",
"feature-video",
"generate_command",
"heal-skill",
"lfg",
"plan_review",
"release-docs",
"report-bug",
"reproduce-bug",
"resolve_parallel",
"resolve_pr_parallel",
"resolve_todo_parallel",
"test-browser",
"triage",
"workflows:brainstorm",
"workflows:compound",
"workflows:plan",
"workflows:review",
"workflows:work",
"xcode-test"
]

Result: All 7 commands in /lfg now reference existing commands.

Before this fix: /lfg would fail immediately on step 1
After this fix: /lfg will run the complete workflow end-to-end

This is a critical fix for OpenCode users wanting to use the compound engineering workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant